YOUR FIRST METEOR APPLICATION翻译(十)——Publish & Subscribe

Publish & Subscribe
这章的题目实在不知道怎么翻译~ >_<

只能根据我的理解来吹水了,Publish就是在服务器一头开放一个接口,让客户端可以从那里读取数据,而Subscribe呢就是从服务器开放的相应的接口读数据的东西~

在默认的情况下,我们所有的数据都是Publish状态的,只要我们在Javascript控制台里面进行find查找就很容易读出数据,这样就会变得很不安全,那我们要如何做才能避免这种情况发生呢?下面我们就会来为大家演示

首先,默认情况下面我们输入以下代码到Javascript控制台里面,就可以读出数据来(当然是在我们的例子程序下):

PlayersList.find().fetch();

在这里,我觉得还是要为大家解释以下为什么默认数据会是Publish的,是因为Meteor.js默认为我们安装了autopublish的包~~

只要我们在终端里输入以下代码就可以进行删除:

meteor remove autopublish

现在,再在服务器端试一试执行代码看看:

PlayersList.find().fetch();

当然,我们如果在服务器端执行以下的代码还是会有数据返回的:

console.log(PlayersList.find().fetch());

下面,就要来说说我们本章节的重头戏之一,就是我们的Publish。

Publish
Publish只能执行在服务端,只要前面又留心看的都应该知道吧~然后就让我们在服务器端里输入下面的代码吧:

1
2
3
Meteor.publish('thePlayers', function(){ 
return PlayersList.find();
});

酱紫,我们就把我们想要分享的数据分享出去了,下面我们就来说一说怎么读取。

subscribe
同样的,subscribe只能运行在客户端里面,所以我们只需要在客户端里输入下面的代码,就可以分享到我们从服务器端Publish出来的数据了:

Meteor.subscribe('thePlayers');

现在,我们再在javascript控制台里面执行以下下面的代码:

PlayersList.find().fetch();

哈哈,现在数据又出来了把。

感谢meteortips & David以上内容根据英文版的YOUR FIRST METEOR APPLICATION粗略翻译而来,在未经我本人允许的情况下请勿转载,违者本人保留法律追究的权利。